package com.shop.cereshop.app.param.recommend;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@ApiModel(value = "RecommendSaveDTO", description = "动态新增参数")
@Accessors(chain = true)
public class RecommendSaveDTO {
    @ApiModelProperty(value = "动态id")
    private Long recommendId;

    @ApiModelProperty(value = "动态草稿id(修改草稿箱时传入)")
    private Long draftId;

    @ApiModelProperty(value = "动态文件路径")
    private String fileUrl;

    @ApiModelProperty(value = "动态文件路径集合", required = true)
    private List<String> fileUrlList;

    @ApiModelProperty(value = "文件id")
    private String mediaId;

    @ApiModelProperty(value = "动态文案")
    private String remark;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "详细地址")
    private String detailAddress;

    @ApiModelProperty(value = "经纬度")
    private String location;

    @ApiModelProperty(value = "动态封面")
    private String cover;

    @ApiModelProperty(value = "动态审核内容")
    private String reviewContent;

    @ApiModelProperty(value = "动态文件类型(1-图文,2-视频)")
    private Integer fileType;

    @ApiModelProperty(value = "动态发布状态(0-未审核 1-审核中 2-审核成功 3--审核失败)")
    private Integer publishStatus;

    @ApiModelProperty(value = "@他人id和名称的映射,key为用户id，value为用户名称")
    private List<UserParam> atUser;

    @ApiModelProperty(value = "动态所属话题id集合")
    private List<Long> recommendTypeIdList;

    @ApiModelProperty(value = "动态发布时间")
    private String publishTime;

    @ApiModelProperty(value = "动态可见条件(0-公开 1-私密)")
    private Integer visitType;

    @ApiModelProperty(value = "动态可见用户id集合")
    private List<Long> allowUserIds;

    @ApiModelProperty(value = "动态是否置顶(0-未置顶 1-置顶)")
    private Boolean pinnedStatus;

    @ApiModelProperty(value = "动态创建时间")
    @JsonIgnore
    private String createTime;

    @ApiModelProperty(value = "动态更新时间")
    @JsonIgnore
    private String updateTime;


    // 腾讯视频内容审核相关字段, 前端不传

    @ApiModelProperty(value = "腾讯视频内容审核任务id")
    @JsonIgnore
    private String taskId;

    @ApiModelProperty(value = "腾讯视频内容审核任务状态")
    @JsonIgnore
    private String taskStatus;

}
